# File: heal.gd
class_name Heal
extends Resource
## 治疗数据容器

#region 治疗类型枚举
enum HEAL_TYPE {
	DIRECT,      # 直接治疗
	HOT,         # 持续治疗（Heal Over Time）
	SHIELD       # 护盾值
}

var base_value: float = 0.0            ## 基础治疗量
var source: Unit = null                ## 治疗来源单位
var critical: bool = false             ## 是否暴击
var heal_type: int = HEAL_TYPE.DIRECT  ## 治疗类型枚举值
var duration: float = 0.0              ## 持续时间（HOT/SHIELD类型有效）

var final_value: float: ## 最终治疗量
	get: return floor(base_value * (1.5 if critical else 1.0))


func _init(value: float, type: int, src: Unit, crit: bool = false, dur: float = 0.0):
	base_value = value
	heal_type = type
	source = src
	critical = crit
	duration = dur